

// 1. 基本类型
// String, Number, Boolean, Null, Undefined, Symbol, BigInt

// 2. 引用数据类型
// Function   Array   Object   Set  Map   WeakSet  WeakMap

// ---------------------------------------

// typescript 基于这些类型又扩展了一些

// 1. String 类型
let str: string = 'hello';
// str = 10;

// 2. Number 类型
let num: number = 10;
// num = 'aaa';

// 3. Boolean 类型
let bool: boolean = false;
// bool = 123;

// 4. Undefined 和 Null 因为值唯一，一般作为返回值的描述
let res: undefined;
res = undefined;
let data: null;
data = null;

// 5. 字面量的类型 - 类型的批注是自己定义的
let str1: 'Hello';
str1 = 'Hello';
// str1 = 'Hi';

// 6. any类型 - 不受限制
let guigu: any;
guigu = 100;
guigu = 'hello';

// 7. void 类型 - 是空值 - 只能赋值 undefined 或者 null
let demo: void;
demo = undefined;
demo = null;